﻿using System;
using System.Windows.Forms;
using Sheeter.Library.Dal;
using Sheeter.Library.Model;
using DevExpress.XtraEditors;
using System.Collections.Generic;

namespace Sheeter.App
{
    public partial class UscOutrasHabilidadesMac : UserControl
    {
        string nome = String.Empty;
        List<OutrasHabilidadesInfo> lista;

        public UscOutrasHabilidadesMac()
        {
            InitializeComponent();
            lista = OutrasHabilidadesMacDal.GetAll();
            leNome.DataSource = lista;
            leNome.DisplayMember = "Nome";
            leNome.ValueMember = "Nome";
        }

        private bool FindByName(OutrasHabilidadesInfo outrasHabilidadesInfo)
        {
            return outrasHabilidadesInfo.Nome.Equals(nome);
        }

        private void leNome_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
        {
            LookUpEdit edit = sender as LookUpEdit;
            nome = edit.Properties.GetDisplayValueByKeyValue(e.NewValue).ToString();
            if (!nivelOutrasHabilidadesInfoBindingSource.Contains(nome))
            {
                var res = lista.Find(FindByName);
                txtOutrasHabilidades.Text = res.Descricao;
            }
        }

        private void grdOutrasHabilidades_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.Delete) && (nivelOutrasHabilidadesInfoBindingSource.Current != null))
            {
                nivelOutrasHabilidadesInfoBindingSource.RemoveCurrent();
            }
        }

        private void nivelOutrasHabilidadesInfoBindingSource_PositionChanged(object sender, EventArgs e)
        {
            nome = (nivelOutrasHabilidadesInfoBindingSource.Current as NivelOutrasHabilidadesInfo).Nome;
            var res = lista.Find(FindByName);
            if (!String.IsNullOrEmpty(nome))
                txtOutrasHabilidades.Text = res.Descricao;
        }
    }
}
